package org.example;

public class Message implements MySerializable{
    private Object message ;
    private Object[] parameters;
    private MessageType type ;
    private Class<?>[] paremeterClass ;

    public Message(Object message, MessageType type , Object[] parameters) {
        this.message = message;
        this.type = type;
        this.parameters = parameters ;
    }
    public Message(){};

    public Message(Object message, MessageType type , Object[] parameters , Class<?>[] parameterClass) {
        this.message = message;
        this.type = type;
        this.parameters = parameters ;
        this.paremeterClass = parameterClass ;
    }

    public Class<?>[] getParemeterClass() {
        return paremeterClass;
    }

    public void setParemeterClass(Class<?>[] paremeterClass) {
        this.paremeterClass = paremeterClass;
    }

    public Object[] getParameters() {
        return parameters;
    }

    public void setParameters(Object[] parameters) {
        this.parameters = parameters;
    }

    public Object getMessage() {
        return message;
    }

    public void setMessage(Object message) {
        this.message = message;
    }

    public MessageType getType() {
        return type;
    }

    public void setType(MessageType type) {
        this.type = type;
    }
}
